﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AccesoDatos.Objetos;
using AccesoDatos.Manejador;
using Autorizacion_facturas_caja.Vacaciones;
using Conexion;

namespace Autorizacion_facturas_caja
{
    public partial class frmVacaciones_Completar : Form
    {
        objRH obj = new objRH();
        public objRH obj2 = new objRH();
        objVacaciones obj1 = new objVacaciones();
        public objVacaciones obj3 = new objVacaciones();
        Manejador_Vacaciones MV = new Manejador_Vacaciones();
        ClsConexion conexion = new ClsConexion();

        #region FUNCIONES
        public frmVacaciones_Completar(objRH obj, objVacaciones obj1, int band)
        {
            InitializeComponent();

            if (band == 0)
            {
                label10.Visible = false;
                cmdProgramadas.Visible = false;
            }
            else if (band == 1)
            {
                label7.Visible = false;
                cmbCompletada.Visible = false;

            }
            cargar(obj, obj1);
            obj2 = obj;
            obj3 = obj1;
        }

        //llena los campos de la forma
        public void cargar(objRH obj, objVacaciones obj1)
        {
            label3.Text = obj.Nombre + " " + obj.Apellidos;
            label4.Text = obj.Puesto;
            label8.Text = obj1.Fecha_Inicio_Vacaciones.ToShortDateString();
            label9.Text = obj1.Fecha_fin_vacaciones.ToShortDateString();
        }

        public bool ValidarS()
        {
            if (cmdProgramadas.Text == "AUTORIZAR" || cmbCompletada.Text == "INTERRUMPIR")
            {
                Form1 login = new Form1();
                login.ShowDialog();
                if (conexion.Usuario != null) return true;
                else return false;
            }
            return true;
        }
        #endregion

        #region BOTONES

        //completa al operacion elegida
        private void btnCompletar_Click(object sender, EventArgs e)
        {
            try
            {
                int bandera = 0;

                if (cmbCompletada.Text == "INTERRUMPIR")
                {

                    this.Close();
                    frmVacaciones_Validacion fvd = new frmVacaciones_Validacion(obj2, obj3, bandera);
                    fvd.ShowDialog();

                }

                else if (cmdProgramadas.Text == "ELIMINAR")
                {
                    bool resp = MV.ModificarDiasProg(obj3.Id_Relacion_Vacaciones.ToString(), obj3.Id_Vacaciones.ToString());

                    if (resp == true)
                    {
                        MessageBox.Show("VACACIONES CANCELADAS", "AVISO");
                        this.Close();
                    }
                    else { MessageBox.Show("ERROR AL CANCELAR", "ALERTA"); }
                }
                else if (cmdProgramadas.Text == "AUTORIZAR")
                {
                    bool resp = MV.VacacionesAutorizacion(obj3.Id_Relacion_Vacaciones);
                    if (resp)
                    {
                        MessageBox.Show("VACACIONES AUTORIZADAS", "AVISO");
                        frmVacaciones_Reporte_Vacacion rep = new frmVacaciones_Reporte_Vacacion(obj2, obj3);
                        rep.ShowDialog();
                    }
                    else MessageBox.Show("ERROR AL AUTORIZAR", "ALERTA");
                }
                Close();
            }
            catch { MessageBox.Show("SELECCIONE ALGUNA ACCION A REALIZAR", "ALERTA"); }
        }

        //cierra la forma
        private void button1_Click(object sender, EventArgs e)
        {
            Close();
        }

        //genera el reporte
        private void btnReporte_Click(object sender, EventArgs e)
        {
            frmVacaciones_Reporte_Vacacion fvrv = new frmVacaciones_Reporte_Vacacion(obj2, obj3);
            fvrv.ShowDialog();
        }
        #endregion

        #region  EVENTOS
        //tips de ayuda
        private void frmVacaciones_Completar_Load(object sender, EventArgs e)
        {
            toolTip1.SetToolTip(btnCompletar, "ACEPTAR");
            toolTip1.SetToolTip(btnRegresar, "REGRESAR");
            toolTip1.SetToolTip(btnReporte, "REPORTE");
        }

        #endregion

    }
}
